package com.代理模式.静态代理.分库分表;

/**
 * @author: wh(1835734390 @ qq.com)
 * @date: 2023/3/1 9:35
 * @description:
 * @version:
 */
//数据源路由对象
public class DynamicDataSourceEntry {
    private final static String DEFAULT = null;
    private final static ThreadLocal<String> local = new ThreadLocal<String>();
    private DynamicDataSourceEntry() {}
    // 清空数据源
    public static void clear() {
        local.remove();
    }
    // 获取当前正在使用的数据源的名字
    public static String get() {
        return local.get();
    }
    // 还原当前切面的数据源
    public static void reset() {
        local.set(DEFAULT);
    }
    // 设置数据源的名字
    public static void set(String source) {
        local.set(source);
    }
    // 根据年份动态设置数据源
    public static void set(int year) {
        local.set("DB_" + year);
    }
}

